-
Notifications
You must be signed in to change notification settings - Fork 423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UCP: tm offload rndv support #1549
Conversation
Test FAILed. |
Test FAILed. |
Test FAILed. |
src/ucp/tag/offload.c
Outdated
uint64_t remote_addr, size_t length, | ||
const void *rkey_buf) | ||
{ | ||
ucp_rndv_rts_hdr_t *rts = (ucp_rndv_rts_hdr_t*)(((ucp_tag_hdr_t*)hdr) - 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't this illegal to access memory before 'hdr'?
src/ucp/tag/offload.c
Outdated
|
||
ucs_status_t ucp_tag_offload_rndv_zcopy(uct_pending_req_t *self) | ||
{ | ||
void *rndv_op; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls move this variable to be last, so variables with initializers are first
Test PASSed. |
Test PASSed. |
Test PASSed. |
Test PASSed. |
Test PASSed. |
Test PASSed. |
src/ucp/tag/rndv.c
Outdated
sizeof(*rndv_rts_hdr), recv_flags); | ||
} | ||
|
||
UCP_THREAD_CS_EXIT_CONDITIONAL(&context->mt_lock); | ||
return status; | ||
} | ||
|
||
ucs_status_t ucp_rndv_rts_handler(void *arg, void *data, size_t length, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to move UCS_PROFILE_FUNC to this function instead of ucp_rndv_process_rts, and add UCS_PROFILE_FUNC to ucp_tag_offload_unexp_rndv. This is because we need to profile the entry points from UCT to UCP.
src/ucp/tag/offload.c
Outdated
if (status != UCS_OK) { | ||
ucs_error("Failed to cancel recv in the transport: %s", | ||
ucs_status_string(status)); | ||
if (req->flags & UCP_REQUEST_FLAG_OFFLOADED) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (!offloaded) return
src/ucp/tag/offload.c
Outdated
ucp_worker_iface_t, queue); | ||
ucp_rndv_rts_hdr_t rts; | ||
|
||
rts.sreq = sreq->super; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls add comment like "emulate rts without key"
Test PASSed. |
Test PASSed. |
@yosefe pls take a look